SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[spAgregarGruposAlumnos]

@Iddivision int,
@AnioLectivo int = null,
@TodaOrga varchar(1) = null,
@TodoTurno varchar(1) = null,
@turno int = null,
@cuise int = null

AS

set dateformat dmy

declare @idalumno int
declare @diagnostico varchar(1000)
select @Diagnostico = '1'
declare @cod int
declare @error int

declare @Desde datetime
declare @Hasta datetime
declare @PaseDeOrigen int
declare @InscripcionDeOrigen int
declare @Baja varchar(1)
declare @CausaBaja int
declare @IddivisionA int
declare @iddivisionAux int
declare @suborg int


--Esto es por defecto para el ingreso de matriculacion
select @Desde = '01/03/2004'
select @Hasta = null
select @PaseDeOrigen = null
select @inscripciondeorigen = null
select @baja = 'N'
select @causaBaja = null


--Registrar la matriculacion en la division para TODA LA Organización
/*IF @TodaOrga = 'S'  
      begin
	Declare TodaOrga cursor for 
		--Saco todos los alumnos de la organizacion que pertenecen a Divisiones que NO son Grupos.
               	Select distinct ad.alumno from tb_AlumnoDivision AD inner join tb_divisiones D on AD.division = D.iddivision
		inner join tb_suborganizaciones SO on d.idsuborg = so.idsuborganizacion
		inner join tb_organizaciones o on so.org = o.idorganizaciones
		Where O.cuise = @cuise	
		and d.esgrupo = 'N'
             open TodaOrga  
	Fetch next from TodaOrga into @idalumno
	while @@fetch_status = 0
	       Begin
  		INSERT INTO tb_AlumnoDivision (Alumno,Division,AnioLectivo,Desde,Hasta,PaseDeOrigen,InscripcionDeOrigen,Baja,CausaBaja)
        		VALUES (@idAlumno,@IdDivision,@AnioLectivo,@Desde,@Hasta,@PaseDeOrigen,@InscripcionDeOrigen,@Baja,@CausaBaja)
		Fetch next from TodaOrga into @idalumno
	       End
              close TodaOrga
	deallocate TodaOrga
	Set @cod = 2
	set @Diagnostico = 'Se Inscribieron todos los alumnos de la Organización en el Grupo...'
  end
*/


--Registrar TODO el Turno
IF @TodoTurno ='S'
    begin
	Declare TodoTurno cursor for 
		--Saco todos los alumnos de la organizacion que pertenecen al Turno y que NO son Grupos.
               	Select distinct ad.alumno from tb_AlumnoDivision AD inner join tb_divisiones D on AD.division = D.iddivision
		inner join tb_suborganizaciones SO on d.idsuborg = so.idsuborganizacion
		inner join tb_organizaciones o on so.org = o.idorganizaciones
		Where O.cuise = @cuise	 and d.esgrupo = 'N' and d.turno = @turno

             open TodoTurno 
	Fetch next from TodoTurno into @idalumno
	while @@fetch_status = 0
	       Begin
  		INSERT INTO tb_AlumnoDivision (Alumno,Division,AnioLectivo,Desde,Hasta,PaseDeOrigen,InscripcionDeOrigen,Baja,CausaBaja)
        		VALUES (@idAlumno,@IdDivision,@AnioLectivo,@Desde,@Hasta,@PaseDeOrigen,@InscripcionDeOrigen,@Baja,@CausaBaja)
		Fetch next from TodoTurno into @idalumno
	       End
              close TodoTurno
	deallocate TodoTurno
	Set @cod = 2
	set @Diagnostico = 'Se Inscribieron todos los alumnos del Turno en el Grupo...'
   end



--Registrar por Divisiones

declare @idalumnoendivision int
Declare DivisionesInc cursor for

Select  @iddivisionA, @iddivisionAux from tb_divisionesAux where iddivision = @iddivision

Open DivisionesInc
fetch next from DivisionesInc into @iddivisionA, @iddivisionAux
While @@fetch_status = 0
Begin

	Declare AlumnoDivision cursor for 
	--Saco todos los alumnos de la organizacion que pertenecen al Turno y que NO son Grupos.
             Select distinct ad.alumno from tb_AlumnoDivision AD inner join tb_divisiones D on AD.division = D.iddivision
	inner join tb_suborganizaciones SO on d.idsuborg = so.idsuborganizacion
	inner join tb_organizaciones o on so.org = o.idorganizaciones
	Where O.cuise = @cuise	 and d.esgrupo = 'N' and d.iddivision = @iddivisionA

             open AlumnoDivision 
	Fetch next from AlumnoDivision into @idalumnoendivision
	while @@fetch_status = 0                                                                                        
	       Begin
  		INSERT INTO tb_AlumnoDivision (Alumno,Division,AnioLectivo,Desde,Hasta,PaseDeOrigen,InscripcionDeOrigen,Baja,CausaBaja)
        		VALUES (@idAlumno,@IdDivision,@AnioLectivo,@Desde,@Hasta,@PaseDeOrigen,@InscripcionDeOrigen,@Baja,@CausaBaja)
		Fetch next from TodoTurno into @idalumno
	       End
             close AlumnoDivision
	deallocate AlumnoDivision
	fetch next from DivisionesInc into @iddivisionA, @iddivisionAux
	Set @cod = 2
	set @Diagnostico = 'Se Inscribieron todos los alumnos de las Divisiones en el Grupo...'

End


declare @idRelDivisionAlumno int 
Select @idRelDivisionAlumno =  @@identity



--Registrar Los Individuales
declare @documentoAux intDeclare AlumnosDivision cursor for

Select  @documentoAux  from tb_alumnosaux where iddivision = @iddivision

Open AlumnosDivision
fetch next from AlumnosDivision into @documentoAux
While @@fetch_status = 0
Begin

	
             open AlumnosDivision 
	Fetch next from AlumnosDivision into @documentoAux
	while @@fetch_status = 0                                                                                        
	   --   Begin
  	--	INSERT INTO tb_AlumnoDivision (Alumno,Division,AnioLectivo,Desde,Hasta,PaseDeOrigen,InscripcionDeOrigen,Baja,CausaBaja)
        --		VALUES (@idAlumno,@IdDivision,@AnioLectivo,@Desde,@Hasta,@PaseDeOrigen,@InscripcionDeOrigen,@Baja,@CausaBaja)
--		Fetch next from TodoTurno into @idalumno
	      -- End
             close AlumnoDivision
	deallocate AlumnoDivision
	fetch next from DivisionesInc into @iddivisionA, @iddivisionAux
	Set @cod = 2
	set @Diagnostico = 'Se Inscribieron todos los alumnos individuaes en el Grupo..'

End




Salir:
select @cod as error, @Diagnostico as Diagnostico, @idalumno as Alumno
GO
